<?php
namespace api\components;


use Yii;
use yii\rbac\Rule;
use common\models\User;
/**
 * 用户修改规则 根据用户传入的id 判断是否与当前的登录的账户ID一致，一致则代表能够修改该资料
 */
class UserRule extends Rule
{
    public $name = 'updateOwnData';
    /**
     * [execute 权限验证  如果传过来的账户id和token的Id相同，那么判断为修改自身的资料，通过处理]
     * @Author   panwc
     * @DateTime 2017-11-17T13:54:07+0800
     * @param    [type]                   $user   [账户id]
     * @param    [type]                   $item   [description]
     * @param    [type]                   $params [携带参数]
     * @return   [type]                           [description]
     */
    public function execute($user, $item, $params)
    {

    	$id = isset($params['id']) ? $params['id'] : null;

        if (!$id) {
            return false;
        }

        $model = User::findOne($id);
        if (!$model) {
            return false;
        }

        $accountId = Yii::$app->user->identity->id;

        if ( $accountId == $id) {
            return true;
        }
        return false;
    }
}
